1. Field of the Invention
The present invention relates to a software agent system using an agent program which, in accordance with access conditions held by a large number of servers distributed and arranged on a network, is self-transferred to access the servers and executes an information acquiring process.
2. Description of the Related Art
A software agent system is developed as a system using a network such as the Internet. In the software agent system, a software agent programmed on the basis of a request of a user in a client server is separated from the user and moves between a plurality of servers distributed and existing on a network by determination of the software agent, and the software agent acquires information desired by the user and then returns to the original client server.
According to the software agent system described above, a user may input only a request of the user in a client server. Searching on a network, access to a server on the network, and a processing operation for the server need not be directly performed, and desired information can be acquired.
FIGS. 1A to 1D explain the details of an agent program in the software agent system.
In the software agent system, the agent program has a function that an execution state of the program is written out of a server by a method called a serialize method. An agent server for receiving a serialized program and executing the programs again is also necessary. In FIGS. 1A to 1D shows a device in which a software agent moves from a client server to a specific server, performs an information acquiring process, and returns to the original client server.
As shown in FIG. 1A, a communication path to a specific server 81 on a network is secured on the basis of a program initialized and executed by the client server 80. Securing of the communication path can be easily performed by connecting using the protocol of, e.g., TCP/IP.
The program in execution in the client server 80 (machine 1) is transferred from the client server 80 to the other server 81 (machine 2) as a file through programs and work areas existing on the network 82 while the program is kept in an execution state by the method called a serialize method.
In this case, the serialize method makes it possible that a program on a memory is written as a file while a variable in the program and a work area are held.
The machine on the server 81 side monitors a specific port. When the port is accessed by an external server, the machine receives data, receives a program serialized on a memory or a file as a file (bit stream), and redefines the received file as a program. As the method of redefining a file as a program, a method of assigning a program/data structure which is generally defined in advance by a method called casting is used.
As shown in FIG. 1B, the agent which is redefined as a program causes the server 81 to call an entry for continuation serving as a program. The agent program called as the program restarts the interrupted program on the basis of the held variable and work area to continue a given process.
As shown in FIG. 1C, when a predetermined process is ended, the agent informs the original client server 80 of the results of the predetermined process, otherwise, the agent holds the process results and serializes itself again to transfer the program to the specific server 81.
Thereafter, as shown in FIG. 1D, the client server 80 receives the agent program. If the client server 80 has a process which can be executed, the client server 80 calls a process result output section such as a work area or the like in the received program, so that the result of the process performed by the server 81 can be acquired.
In this manner, as in the conventional art, a software agent system which transfers a program between different machines can be constituted.
However, in a conventional software agent system, when a program is to be sent, the server 81 on a reception side must be a known machine and must have a predetermined port number.
In addition, the server 81 must start a server program to be in a standby state. For this reason, a problem that an agent program cannot be sent to an unknown server is posed.
It is an object of the present invention to provide a software agent system which is self-transferred to access a server on a network and performs an information acquiring process, wherein it is made possible to access an information source on the network even if a user of the network does not set access conditions of the server in advance, so that use of the network can be made easier.
To achieve the object described above, there is provided a software agent system using an agent program which, in accordance with access conditions such as the addresses and implementation methods of a larger number of information sources distributed and arranged on a network, is self-transferred to access the information sources and executes an information acquiring process for these information sources, comprising:
an information service which is set on the network and on which the access conditions of the large number of information sources are stored,
wherein the agent program acquires the access conditions from the information service and accesses the information sources on the basis of the acquired access conditions.
Preferably, the information service comprises reception means for receiving binary data output from the agent program and execution means for reading the received binary data as a program and for executing an information acquiring process for the information sources by the program.
Preferably, the agent program has serialize processing means for writing a program whose execution is started as binary data while the program is kept in an execution state, writes the program which is in the execution state as binary data to the reception means of the information service, and accesses the information sources through the execution means.
Preferably, after the agent program confirms that the agent program accesses the information sources through the execution means, the agent program supplies an execution instruction for the program written as binary data to the information sources through the information service.
According to the software agent system described above, by conforming, e.g., a CORBA service used as an information service, a user can send and restart a program by information obtained by inquiring at the name server or the like of the CORBA service even if the user does not know the access conditions of a predetermined server, a predetermined port, and the like.